﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Text;
using System.Security.Cryptography;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;


namespace Hyunhdai_Saigon_Project
{
    public partial class login : System.Web.UI.Page
    {
//        public string MaHoaMatKhau(string password)
//{
//    UnicodeEncoding encoding = new UnicodeEncoding();
//    Byte[] hashBytes = encoding.GetBytes(password);
//    // Compute the SHA-1 hash
//    SHA1CryptoServiceProvider sha1 = new SHA1CryptoServiceProvider();
//    Byte[] cryptPassword = sha1.ComputeHash(hashBytes);
//    return BitConverter.ToString(cryptPassword);
//}

        protected void Page_Load(object sender, EventArgs e)
{
    if (Session["TenDangNhap"] != null || Session["MatKhau"] != null)
    {
        Response.Redirect("admin2.aspx");
    }
}
protected void btnLogin_Click(object sender, EventArgs e)
{
    KiemTraNhap(txtUserName.Text + "", txtPassword.Text);
}

private void KiemTraNhap(string TenDangNhap, string MatKhau)
{
   DataTable dtb = StoreToDataTable(TenDangNhap, MatKhau);
    int num = 0;
    if (dtb.Rows.Count > 0)
    {
        num = int.Parse("0" + dtb.Rows[0][0]);
        switch (num)
        {
     case 0: // Khai báo Session cho phép đăng nhập
                Session["TenDangNhap"] = txtUserName.Text.ToString().ToLower();
                Session["MatKhau"] = txtPassword.Text;
		Response.Redirect("admin.aspx");
                break;
     case 1: //Thông báo tên đăng nhập không tồn tại
        ScriptManager.RegisterStartupScript(this, this.GetType(), "redirectMe",
 "alert('Lỗi: Tên đăng nhập không tồn tại');", true);
                break;
     case 2: // thông báo sai mật khẩu
        ScriptManager.RegisterStartupScript(this, this.GetType(), "redirectMe",
 "alert('Lỗi; Mật khẩu đăng nhập không đúng!');", true);
                break;
        }
    }
    dtb.Dispose();
}

         private static DataSet ThucThiStore_DataSet(
    string StoredProcedure,
    params SqlParameter[] Parameters)
        {
            string ConnectionString = ConfigurationManager.ConnectionStrings["hyundaisaigonConnectionString"].ConnectionString;
            SqlConnection Conn = new SqlConnection(ConnectionString);
            SqlCommand Command = new SqlCommand(StoredProcedure, Conn);
            if (Parameters != null)
            {
                Command.Parameters.Clear();
                Command.Parameters.AddRange(Parameters);
            }
            DataSet ds = new DataSet(); SqlDataAdapter da =
                new SqlDataAdapter(StoredProcedure, Conn);
            Command.CommandType = CommandType.StoredProcedure;
            da.SelectCommand = Command;
            try
            {
                Conn.Open();
                da.Fill(ds);
            }
            finally
            {
                if (Conn.State == ConnectionState.Open)
                    Conn.Close();
                Conn.Dispose();
            }
            return ds;
        }
        private DataTable StoreToDataTable(
            string TenDangNhap,
            string MatKhau)
        {
            SqlParameter[] arrParam = {
            new SqlParameter("@username", SqlDbType.VarChar),
            new SqlParameter("@password", SqlDbType.VarChar)
            };
            arrParam[0].Value = TenDangNhap;
            arrParam[1].Value = MatKhau;
            return ThucThiStore_DataSet("proc_users", arrParam).Tables[0];
        }

    }
}